home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Developers / ACL / Animation Class Library / Headers / AnimSupervisor.h < prev   
Encoding:
C/C++ Source or Header  |  1994-10-01  |  2.0 KB  |  77 lines  |  [TEXT/MPCC]

  1.  
  2. /********************************************
  3.  **** Animation Class Library V1.0 © 1994 Yves Schmid & Alia Development
  4.  ****
  5.  **** AnimSupervisor.h
  6.  ****
  7.  **** Created:      06 June 1994
  8.  **** Modified:     01 September 1994
  9.  **** Version:      0
  10.  **** Compatible:   C++, Mac System 7
  11.  ****
  12.  **** Description:  • AnimSupervisor class is an abstract class which defines the base
  13.  ****                of animation objects which can have subobjects under control.
  14.  ****
  15.  ****                • AnimSupervisor is a child clas of the CoreHead class.
  16.  ****
  17.  *******************/
  18.  
  19. #ifndef AnimSupervisor_H
  20. #define AnimSupervisor_H
  21.  
  22.  
  23. #include "CoreHead.h"
  24.  
  25. class AnimBase;
  26. class AnimObject;
  27. class AnimMask;
  28. class AnimCollision;
  29. class Anim;
  30. class AnimGfx;
  31. struct AnimFrameDef;
  32.  
  33. class AnimSupervisor: public CoreHead
  34. {
  35.  
  36.     //***********************************************************
  37.     //.............. P U B L I C   M E T H O D S.................
  38.     
  39.     public:
  40.  
  41.     AnimSupervisor(long nentry=0);                                    // Object unlinked
  42.     AnimSupervisor(AnimSupervisor *, long headentry,long nentry=0);  // Object under control of an
  43.                                                                      // anim supervisor
  44.  
  45.     ~AnimSupervisor(void);
  46.  
  47.  
  48.     virtual AnimBase *getanimbase(void);    // Tries to find its AnimBase or returns NULL
  49.  
  50.  
  51.     virtual Anim *createanim(void);                    // Creates a simple Anim
  52.     virtual Anim *createanim(AnimFrameDef *def);    // An array of AnimFrameDef
  53.     virtual Anim *createanim(long resID);
  54.     virtual Anim *createanim(AnimGfx *gfx);    
  55.  
  56.     virtual AnimMask *createanimmask(long resID);
  57.     virtual AnimMask *createanimmask(AnimGfx *);
  58.  
  59.     virtual AnimCollision *createanimcollision(long resID);
  60.     virtual AnimCollision *createanimcollision(AnimGfx *);
  61.  
  62.  
  63.  
  64.     // Returns the first/last animation object linked to this supervisor. If no objects returns NULL
  65.     inline AnimObject *getanimobject_first(void) {return (AnimObject*) getentry(0)->getfirst();}
  66.     inline AnimObject *getanimobject_last(void) {return (AnimObject*) getentry(0)->getlast();}
  67.  
  68.  
  69.     unsigned long userdata;        // Use this variable like you want
  70.  
  71. };
  72.  
  73.  
  74.  
  75. #endif
  76.  
  77.